#include "ros/ros.h"
#include "msg/circle.h"
using namespace std;

#define PI 3.14f

int main(int argc, char *argv[]) {
    // 设置编码
    setlocale(LC_ALL, "");
    ros::init(argc, argv, "publisher");
    ros::NodeHandle nodeHandle;

    // 实例化发布者对象
    ros::Publisher publisher = nodeHandle.advertise<msg::circle>("msg_info", 10);

    // 频率控制器（参数代表每秒执行次数）
    ros::Rate r(2);

    msg::circle round;
    round.radius = 2.0f;

    while (ros::ok())
    {
        // 发布消息
        publisher.publish(round);
        round.area = PI * round.radius * round.radius;
        // 加入调试，打印发送的消息
        ROS_INFO("Circle Info : %f - %f", round.radius, round.area);
        round.radius += 1.0f;
        // 自动休眠；
        r.sleep();
        // 如果有多个发布就轮环执行
        ros::spinOnce();
    }

    return 0;
}
